WEEK 3: DATA CLEANING & MANIPULATION

Monday, January 23rd

Today we will…

  • Review File Paths + R Projects
  • Review Lab 2
  • A note on font accessibility in graphics
  • Mini lecture on text material
    • Using dplyr verbs to manipulate data
  • PA 3: Identify the Mystery College

Font Accessibility in Graphics

Serif fonts “have an extra flourish that makes it look pretty for many people, but can clutter what is on the page and that’s what makes it harder to distinguish for people with visual disabilities than just having a very clean font with no extra bits and pieces around it.”

Changing Font in ggplot2

Option 1: Using your system’s fonts

windowsFonts()
$serif
[1] "TT Times New Roman"

$sans
[1] "TT Arial"

$mono
[1] "TT Courier New"
ggplot(data = penguins, 
       mapping = aes(x = bill_length_mm, 
                     y = bill_depth_mm)) +
  geom_point() +
  labs(title = "Penguins from the Palmer Archipelago",
       x = "Bill Length (mm)",
       y = "Bill Depth (mm)") + 
  theme(plot.title    = element_text(family = "sans", size = 28),,
        axis.title.x  = element_text(family = "serif", size = 28), 
        axis.title.y = element_text(family = "mono", size = 28)
        )

Changing Font in ggplot2

Option 2: showtext R package

library(showtext)
showtext_auto()

font_add_google("Gochi Hand", "gochi")
font_add_google("Montserrat", "montserrat")

ggplot(data = penguins, 
       mapping = aes(x = bill_length_mm, 
                     y = bill_depth_mm)) +
  geom_point() +
  labs(title = "Penguins from the Palmer Archipelago",
       x = "Bill Length (mm)",
       y = "Bill Depth (mm)") + 
  theme(plot.title = element_text(family = "montserrat", size = 40),
        axis.title.y = element_text(family = "gochi", size = 40),
        axis.title.x = element_text(family = "gochi", size = 40)
  )

dplyr

dplyr verbs

“Grammar of Data Manipulation”

dplyr cheatsheet

  • filter()
  • arrange()
  • select()
  • mutate()
  • summarize()
  • Use group_by() to perform group wise operations
  • Use the pipe operator (|> or %>%) to chain together data wrangling operations

Data wrangling by Allison Horst

Example Data set – Cereal

library(liver)
data(cereal)
str(cereal, give.attr = FALSE)
'data.frame':   77 obs. of  16 variables:
 $ name    : Factor w/ 77 levels "100% Bran","100% Natural Bran",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ manuf   : Factor w/ 7 levels "A","G","K","N",..: 4 6 3 3 7 2 3 2 7 5 ...
 $ type    : Factor w/ 2 levels "cold","hot": 1 1 1 1 1 1 1 1 1 1 ...
 $ calories: int  70 120 70 50 110 110 110 130 90 90 ...
 $ protein : int  4 3 4 4 2 2 2 3 2 3 ...
 $ fat     : int  1 5 1 0 2 2 0 2 1 0 ...
 $ sodium  : int  130 15 260 140 200 180 125 210 200 210 ...
 $ fiber   : num  10 2 9 14 1 1.5 1 2 4 5 ...
 $ carbo   : num  5 8 7 8 14 10.5 11 18 15 13 ...
 $ sugars  : int  6 8 5 0 8 10 14 8 6 5 ...
 $ potass  : int  280 135 320 330 -1 70 30 100 125 190 ...
 $ vitamins: int  25 0 25 25 25 25 25 25 25 25 ...
 $ shelf   : int  3 3 3 3 3 1 2 3 1 3 ...
 $ weight  : num  1 1 1 1 1 1 1 1.33 1 1 ...
 $ cups    : num  0.33 1 0.33 0.5 0.75 0.75 1 0.75 0.67 0.67 ...
 $ rating  : num  68.4 34 59.4 93.7 34.4 ...
head(cereal)
                       name manuf type calories protein fat sodium fiber carbo
1                 100% Bran     N cold       70       4   1    130  10.0   5.0
2         100% Natural Bran     Q cold      120       3   5     15   2.0   8.0
3                  All-Bran     K cold       70       4   1    260   9.0   7.0
4 All-Bran with Extra Fiber     K cold       50       4   0    140  14.0   8.0
5            Almond Delight     R cold      110       2   2    200   1.0  14.0
6   Apple Cinnamon Cheerios     G cold      110       2   2    180   1.5  10.5
  sugars potass vitamins shelf weight cups   rating
1      6    280       25     3      1 0.33 68.40297
2      8    135        0     3      1 1.00 33.98368
3      5    320       25     3      1 0.33 59.42551
4      0    330       25     3      1 0.50 93.70491
5      8     -1       25     3      1 0.75 34.38484
6     10     70       25     1      1 0.75 29.50954
summary(cereal)
                        name    manuf    type       calories    
 100% Bran                : 1   A: 1   cold:74   Min.   : 50.0  
 100% Natural Bran        : 1   G:22   hot : 3   1st Qu.:100.0  
 All-Bran                 : 1   K:23             Median :110.0  
 All-Bran with Extra Fiber: 1   N: 6             Mean   :106.9  
 Almond Delight           : 1   P: 9             3rd Qu.:110.0  
 Apple Cinnamon Cheerios  : 1   Q: 8             Max.   :160.0  
 (Other)                  :71   R: 8                            
    protein           fat            sodium          fiber       
 Min.   :1.000   Min.   :0.000   Min.   :  0.0   Min.   : 0.000  
 1st Qu.:2.000   1st Qu.:0.000   1st Qu.:130.0   1st Qu.: 1.000  
 Median :3.000   Median :1.000   Median :180.0   Median : 2.000  
 Mean   :2.545   Mean   :1.013   Mean   :159.7   Mean   : 2.152  
 3rd Qu.:3.000   3rd Qu.:2.000   3rd Qu.:210.0   3rd Qu.: 3.000  
 Max.   :6.000   Max.   :5.000   Max.   :320.0   Max.   :14.000  
                                                                 
     carbo          sugars           potass          vitamins     
 Min.   :-1.0   Min.   :-1.000   Min.   : -1.00   Min.   :  0.00  
 1st Qu.:12.0   1st Qu.: 3.000   1st Qu.: 40.00   1st Qu.: 25.00  
 Median :14.0   Median : 7.000   Median : 90.00   Median : 25.00  
 Mean   :14.6   Mean   : 6.922   Mean   : 96.08   Mean   : 28.25  
 3rd Qu.:17.0   3rd Qu.:11.000   3rd Qu.:120.00   3rd Qu.: 25.00  
 Max.   :23.0   Max.   :15.000   Max.   :330.00   Max.   :100.00  
                                                                  
     shelf           weight          cups           rating     
 Min.   :1.000   Min.   :0.50   Min.   :0.250   Min.   :18.04  
 1st Qu.:1.000   1st Qu.:1.00   1st Qu.:0.670   1st Qu.:33.17  
 Median :2.000   Median :1.00   Median :0.750   Median :40.40  
 Mean   :2.208   Mean   :1.03   Mean   :0.821   Mean   :42.67  
 3rd Qu.:3.000   3rd Qu.:1.00   3rd Qu.:1.000   3rd Qu.:50.83  
 Max.   :3.000   Max.   :1.50   Max.   :1.500   Max.   :93.70  
                                                               

The Pipe Operator

No matter how complex and polished the individual operations are, it is often the quality of the glue that most directly determines the power of the system.

— Hal Abelson

The Pipe Operator

  • Code should read like a sentence

  • The data is the primary object, so it should come first in your code.

A Brief History of the Pipe

The original pipe (%>%) was part of the magrittr package.

R version 4.1.0 created the “native” pipe (|>)

The Pipe Operator

dr_robinson |>
  do_a_dance()

The Pipe Operator

dr_robinson |>
  do_a_dance()


dr_robinson |>
  put_on("cool hat") |>
  do_a_dance(type = "macarena")

The Pipe Operator: Data comes first!

  • filter(data = cereal, ...)
  • select(data = cereal, ...)
  • mutate(data = cereal, ...)
summary(data = cereal)

is the same as

cereal |> 
  summary()


The pipe operator is your friend! You can “pipe” manipulated data sets or summaries directly into your ggplot2 code for plotting.

filter()

dplyr filter() by Allison Horst

filter()

We filter to the rows (observations) we would like to keep in the data set.

cereal |> 
  filter(calories < 100)
name manuf type calories protein fat sodium fiber carbo sugars potass vitamins shelf weight cups rating
100% Bran N cold 70 4 1 130 10 5 6 280 25 3 1.00 0.33 68.40297
All-Bran K cold 70 4 1 260 9 7 5 320 25 3 1.00 0.33 59.42551
All-Bran with Extra Fiber K cold 50 4 0 140 14 8 0 330 25 3 1.00 0.50 93.70491
Bran Chex R cold 90 2 1 200 4 15 6 125 25 1 1.00 0.67 49.12025
Bran Flakes P cold 90 3 0 210 5 13 5 190 25 3 1.00 0.67 53.31381
Nutri-grain Wheat K cold 90 3 0 170 3 18 2 90 25 3 1.00 1.00 59.64284
Puffed Rice Q cold 50 1 0 0 0 13 0 15 0 3 0.50 1.00 60.75611
Puffed Wheat Q cold 50 2 0 0 1 10 0 50 0 3 0.50 1.00 63.00565
Raisin Squares K cold 90 2 0 0 2 15 6 110 25 3 1.00 0.50 55.33314
Shredded Wheat N cold 80 2 0 0 3 16 0 95 0 1 0.83 1.00 68.23588
Shredded Wheat 'n'Bran N cold 90 3 0 0 4 19 0 140 0 1 1.00 0.67 74.47295
Shredded Wheat spoon size N cold 90 3 0 0 3 20 0 120 0 1 1.00 0.67 72.80179
Strawberry Fruit Wheats N cold 90 2 0 15 3 15 5 90 25 2 1.00 1.00 59.36399

We can add multiple filters to our data, to get a more specific subset!

cereal |> 
  filter(calories < 100,
         type == "H")

filter(): Handy Helpers!

  • > greater than
  • < less than
  • == equal to
  • ! not
  • %in% identifies if an element belongs to a vector
  • | or
  • is.na() binary evaluation of missing values

filter()

cereal |> 
  filter(calories < 100,
         type == "H")
 [1] name     manuf    type     calories protein  fat      sodium   fiber   
 [9] carbo    sugars   potass   vitamins shelf    weight   cups     rating  
<0 rows> (or 0-length row.names)


What if I wanted either “low calorie” cereals or hot cereals…

Code
cereal |> 
  filter(calories < 100 |
           type == "H")

filter(): Characters and Factors

Are you interested in observations included in a list of levels?

cereal |> 
  filter(name %in% c("Cheerios", "Cinnamon Toast Crunch", "Raisin Bran", "Cracklin' Oat Bran"))
                   name manuf type calories protein fat sodium fiber carbo
1              Cheerios     G cold      110       6   2    290     2    17
2 Cinnamon Toast Crunch     G cold      120       1   3    210     0    13
3    Cracklin' Oat Bran     K cold      110       3   3    140     4    10
4           Raisin Bran     K cold      120       3   1    210     5    14
  sugars potass vitamins shelf weight cups   rating
1      1    105       25     1   1.00 1.25 50.76500
2      9     45       25     2   1.00 0.75 19.82357
3      7    160       25     3   1.00 0.50 40.44877
4     12    240       25     2   1.33 0.75 39.25920

arrange()

arrange()

We arrange the data set in order of a particular variable.

cereal |> 
  arrange(calories)
                                     name manuf type calories protein fat
1               All-Bran with Extra Fiber     K cold       50       4   0
2                             Puffed Rice     Q cold       50       1   0
3                            Puffed Wheat     Q cold       50       2   0
4                               100% Bran     N cold       70       4   1
5                                All-Bran     K cold       70       4   1
6                          Shredded Wheat     N cold       80       2   0
7                               Bran Chex     R cold       90       2   1
8                             Bran Flakes     P cold       90       3   0
9                       Nutri-grain Wheat     K cold       90       3   0
10                         Raisin Squares     K cold       90       2   0
11                 Shredded Wheat 'n'Bran     N cold       90       3   0
12              Shredded Wheat spoon size     N cold       90       3   0
13                Strawberry Fruit Wheats     N cold       90       2   0
14                            Corn Flakes     K cold      100       2   0
15                 Cream of Wheat (Quick)     N  hot      100       3   0
16                 Crispy Wheat & Raisins     G cold      100       2   1
17                            Double Chex     R cold      100       2   0
18                    Frosted Mini-Wheats     K cold      100       3   0
19                           Golden Crisp     P cold      100       2   0
20                      Grape Nuts Flakes     P cold      100       3   1
21                                   Life     Q cold      100       4   2
22                                  Maypo     A  hot      100       4   1
23                   Multi-Grain Cheerios     G cold      100       2   1
24                             Product 19     K cold      100       3   0
25                     Quaker Oat Squares     Q cold      100       4   1
26                         Quaker Oatmeal     Q  hot      100       5   2
27                        Raisin Nut Bran     G cold      100       3   2
28                      Total Whole Grain     G cold      100       3   1
29                             Wheat Chex     R cold      100       3   1
30                               Wheaties     G cold      100       3   1
31                         Almond Delight     R cold      110       2   2
32                Apple Cinnamon Cheerios     G cold      110       2   2
33                            Apple Jacks     K cold      110       2   0
34                               Cheerios     G cold      110       6   2
35                               Clusters     G cold      110       3   2
36                            Cocoa Puffs     G cold      110       1   1
37                              Corn Chex     R cold      110       2   0
38                              Corn Pops     K cold      110       1   0
39                          Count Chocula     G cold      110       1   1
40                     Cracklin' Oat Bran     K cold      110       3   3
41                                Crispix     K cold      110       2   0
42                            Froot Loops     K cold      110       2   1
43                         Frosted Flakes     K cold      110       1   0
44                         Fruity Pebbles     P cold      110       1   1
45                         Golden Grahams     G cold      110       1   1
46                             Grape-Nuts     P cold      110       3   0
47                     Honey Nut Cheerios     G cold      110       3   1
48                             Honey-comb     P cold      110       1   0
49            Just Right Crunchy  Nuggets     K cold      110       2   1
50                                    Kix     G cold      110       2   1
51                           Lucky Charms     G cold      110       2   1
52                              Rice Chex     R cold      110       1   0
53                          Rice Krispies     K cold      110       2   0
54                                 Smacks     K cold      110       2   1
55                              Special K     K cold      110       6   0
56                      Total Corn Flakes     G cold      110       2   1
57                                Triples     G cold      110       2   1
58                                   Trix     G cold      110       1   1
59                    Wheaties Honey Gold     G cold      110       2   1
60                      100% Natural Bran     Q cold      120       3   5
61                           Cap'n'Crunch     Q cold      120       1   2
62                  Cinnamon Toast Crunch     G cold      120       1   3
63 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120       3   2
64                          Fruitful Bran     K cold      120       3   0
65                     Great Grains Pecan     P cold      120       3   3
66                       Honey Graham Ohs     Q cold      120       1   2
67                       Nut&Honey Crunch     K cold      120       2   1
68                  Post Nat. Raisin Bran     P cold      120       3   1
69                            Raisin Bran     K cold      120       3   1
70                                Basic 4     G cold      130       3   2
71                   Oatmeal Raisin Crisp     G cold      130       3   2
72                 Just Right Fruit & Nut     K cold      140       3   1
73              Nutri-Grain Almond-Raisin     K cold      140       3   2
74                      Total Raisin Bran     G cold      140       3   1
75       Muesli Raisins; Dates; & Almonds     R cold      150       4   3
76      Muesli Raisins; Peaches; & Pecans     R cold      150       4   3
77                   Mueslix Crispy Blend     K cold      160       3   2
   sodium fiber carbo sugars potass vitamins shelf weight cups   rating
1     140  14.0   8.0      0    330       25     3   1.00 0.50 93.70491
2       0   0.0  13.0      0     15        0     3   0.50 1.00 60.75611
3       0   1.0  10.0      0     50        0     3   0.50 1.00 63.00565
4     130  10.0   5.0      6    280       25     3   1.00 0.33 68.40297
5     260   9.0   7.0      5    320       25     3   1.00 0.33 59.42551
6       0   3.0  16.0      0     95        0     1   0.83 1.00 68.23588
7     200   4.0  15.0      6    125       25     1   1.00 0.67 49.12025
8     210   5.0  13.0      5    190       25     3   1.00 0.67 53.31381
9     170   3.0  18.0      2     90       25     3   1.00 1.00 59.64284
10      0   2.0  15.0      6    110       25     3   1.00 0.50 55.33314
11      0   4.0  19.0      0    140        0     1   1.00 0.67 74.47295
12      0   3.0  20.0      0    120        0     1   1.00 0.67 72.80179
13     15   3.0  15.0      5     90       25     2   1.00 1.00 59.36399
14    290   1.0  21.0      2     35       25     1   1.00 1.00 45.86332
15     80   1.0  21.0      0     -1        0     2   1.00 1.00 64.53382
16    140   2.0  11.0     10    120       25     3   1.00 0.75 36.17620
17    190   1.0  18.0      5     80       25     3   1.00 0.75 44.33086
18      0   3.0  14.0      7    100       25     2   1.00 0.80 58.34514
19     45   0.0  11.0     15     40       25     1   1.00 0.88 35.25244
20    140   3.0  15.0      5     85       25     3   1.00 0.88 52.07690
21    150   2.0  12.0      6     95       25     2   1.00 0.67 45.32807
22      0   0.0  16.0      3     95       25     2   1.00 1.00 54.85092
23    220   2.0  15.0      6     90       25     1   1.00 1.00 40.10596
24    320   1.0  20.0      3     45      100     3   1.00 1.00 41.50354
25    135   2.0  14.0      6    110       25     3   1.00 0.50 49.51187
26      0   2.7  -1.0     -1    110        0     1   1.00 0.67 50.82839
27    140   2.5  10.5      8    140       25     3   1.00 0.50 39.70340
28    200   3.0  16.0      3    110      100     3   1.00 1.00 46.65884
29    230   3.0  17.0      3    115       25     1   1.00 0.67 49.78744
30    200   3.0  17.0      3    110       25     1   1.00 1.00 51.59219
31    200   1.0  14.0      8     -1       25     3   1.00 0.75 34.38484
32    180   1.5  10.5     10     70       25     1   1.00 0.75 29.50954
33    125   1.0  11.0     14     30       25     2   1.00 1.00 33.17409
34    290   2.0  17.0      1    105       25     1   1.00 1.25 50.76500
35    140   2.0  13.0      7    105       25     3   1.00 0.50 40.40021
36    180   0.0  12.0     13     55       25     2   1.00 1.00 22.73645
37    280   0.0  22.0      3     25       25     1   1.00 1.00 41.44502
38     90   1.0  13.0     12     20       25     2   1.00 1.00 35.78279
39    180   0.0  12.0     13     65       25     2   1.00 1.00 22.39651
40    140   4.0  10.0      7    160       25     3   1.00 0.50 40.44877
41    220   1.0  21.0      3     30       25     3   1.00 1.00 46.89564
42    125   1.0  11.0     13     30       25     2   1.00 1.00 32.20758
43    200   1.0  14.0     11     25       25     1   1.00 0.75 31.43597
44    135   0.0  13.0     12     25       25     2   1.00 0.75 28.02576
45    280   0.0  15.0      9     45       25     2   1.00 0.75 23.80404
46    170   3.0  17.0      3     90       25     3   1.00 0.25 53.37101
47    250   1.5  11.5     10     90       25     1   1.00 0.75 31.07222
48    180   0.0  14.0     11     35       25     1   1.00 1.33 28.74241
49    170   1.0  17.0      6     60      100     3   1.00 1.00 36.52368
50    260   0.0  21.0      3     40       25     2   1.00 1.50 39.24111
51    180   0.0  12.0     12     55       25     2   1.00 1.00 26.73451
52    240   0.0  23.0      2     30       25     1   1.00 1.13 41.99893
53    290   0.0  22.0      3     35       25     1   1.00 1.00 40.56016
54     70   1.0   9.0     15     40       25     2   1.00 0.75 31.23005
55    230   1.0  16.0      3     55       25     1   1.00 1.00 53.13132
56    200   0.0  21.0      3     35      100     3   1.00 1.00 38.83975
57    250   0.0  21.0      3     60       25     3   1.00 0.75 39.10617
58    140   0.0  13.0     12     25       25     2   1.00 1.00 27.75330
59    200   1.0  16.0      8     60       25     1   1.00 0.75 36.18756
60     15   2.0   8.0      8    135        0     3   1.00 1.00 33.98368
61    220   0.0  12.0     12     35       25     2   1.00 0.75 18.04285
62    210   0.0  13.0      9     45       25     2   1.00 0.75 19.82357
63    160   5.0  12.0     10    200       25     3   1.25 0.67 40.91705
64    240   5.0  14.0     12    190       25     3   1.33 0.67 41.01549
65     75   3.0  13.0      4    100       25     3   1.00 0.33 45.81172
66    220   1.0  12.0     11     45       25     2   1.00 1.00 21.87129
67    190   0.0  15.0      9     40       25     2   1.00 0.67 29.92429
68    200   6.0  11.0     14    260       25     3   1.33 0.67 37.84059
69    210   5.0  14.0     12    240       25     2   1.33 0.75 39.25920
70    210   2.0  18.0      8    100       25     3   1.33 0.75 37.03856
71    170   1.5  13.5     10    120       25     3   1.25 0.50 30.45084
72    170   2.0  20.0      9     95      100     3   1.30 0.75 36.47151
73    220   3.0  21.0      7    130       25     3   1.33 0.67 40.69232
74    190   4.0  15.0     14    230      100     3   1.50 1.00 28.59278
75     95   3.0  16.0     11    170       25     3   1.00 1.00 37.13686
76    150   3.0  16.0     11    170       25     3   1.00 1.00 34.13976
77    150   3.0  17.0     13    160       25     3   1.50 0.67 30.31335

arrange()

We can arrange by multiple variables.

cereal |> 
  arrange(calories, sugars)
name manuf type calories protein fat sodium fiber carbo sugars potass vitamins shelf weight cups rating
All-Bran with Extra Fiber K cold 50 4 0 140 14.0 8.0 0 330 25 3 1.00 0.50 93.70491
Puffed Rice Q cold 50 1 0 0 0.0 13.0 0 15 0 3 0.50 1.00 60.75611
Puffed Wheat Q cold 50 2 0 0 1.0 10.0 0 50 0 3 0.50 1.00 63.00565
All-Bran K cold 70 4 1 260 9.0 7.0 5 320 25 3 1.00 0.33 59.42551
100% Bran N cold 70 4 1 130 10.0 5.0 6 280 25 3 1.00 0.33 68.40297
Shredded Wheat N cold 80 2 0 0 3.0 16.0 0 95 0 1 0.83 1.00 68.23588
Shredded Wheat 'n'Bran N cold 90 3 0 0 4.0 19.0 0 140 0 1 1.00 0.67 74.47295
Shredded Wheat spoon size N cold 90 3 0 0 3.0 20.0 0 120 0 1 1.00 0.67 72.80179
Nutri-grain Wheat K cold 90 3 0 170 3.0 18.0 2 90 25 3 1.00 1.00 59.64284
Bran Flakes P cold 90 3 0 210 5.0 13.0 5 190 25 3 1.00 0.67 53.31381
Strawberry Fruit Wheats N cold 90 2 0 15 3.0 15.0 5 90 25 2 1.00 1.00 59.36399
Bran Chex R cold 90 2 1 200 4.0 15.0 6 125 25 1 1.00 0.67 49.12025
Raisin Squares K cold 90 2 0 0 2.0 15.0 6 110 25 3 1.00 0.50 55.33314
Quaker Oatmeal Q hot 100 5 2 0 2.7 -1.0 -1 110 0 1 1.00 0.67 50.82839
Cream of Wheat (Quick) N hot 100 3 0 80 1.0 21.0 0 -1 0 2 1.00 1.00 64.53382
Corn Flakes K cold 100 2 0 290 1.0 21.0 2 35 25 1 1.00 1.00 45.86332
Maypo A hot 100 4 1 0 0.0 16.0 3 95 25 2 1.00 1.00 54.85092
Product 19 K cold 100 3 0 320 1.0 20.0 3 45 100 3 1.00 1.00 41.50354
Total Whole Grain G cold 100 3 1 200 3.0 16.0 3 110 100 3 1.00 1.00 46.65884
Wheat Chex R cold 100 3 1 230 3.0 17.0 3 115 25 1 1.00 0.67 49.78744
Wheaties G cold 100 3 1 200 3.0 17.0 3 110 25 1 1.00 1.00 51.59219
Double Chex R cold 100 2 0 190 1.0 18.0 5 80 25 3 1.00 0.75 44.33086
Grape Nuts Flakes P cold 100 3 1 140 3.0 15.0 5 85 25 3 1.00 0.88 52.07690
Life Q cold 100 4 2 150 2.0 12.0 6 95 25 2 1.00 0.67 45.32807
Multi-Grain Cheerios G cold 100 2 1 220 2.0 15.0 6 90 25 1 1.00 1.00 40.10596
Quaker Oat Squares Q cold 100 4 1 135 2.0 14.0 6 110 25 3 1.00 0.50 49.51187
Frosted Mini-Wheats K cold 100 3 0 0 3.0 14.0 7 100 25 2 1.00 0.80 58.34514
Raisin Nut Bran G cold 100 3 2 140 2.5 10.5 8 140 25 3 1.00 0.50 39.70340
Crispy Wheat & Raisins G cold 100 2 1 140 2.0 11.0 10 120 25 3 1.00 0.75 36.17620
Golden Crisp P cold 100 2 0 45 0.0 11.0 15 40 25 1 1.00 0.88 35.25244
Cheerios G cold 110 6 2 290 2.0 17.0 1 105 25 1 1.00 1.25 50.76500
Rice Chex R cold 110 1 0 240 0.0 23.0 2 30 25 1 1.00 1.13 41.99893
Corn Chex R cold 110 2 0 280 0.0 22.0 3 25 25 1 1.00 1.00 41.44502
Crispix K cold 110 2 0 220 1.0 21.0 3 30 25 3 1.00 1.00 46.89564
Grape-Nuts P cold 110 3 0 170 3.0 17.0 3 90 25 3 1.00 0.25 53.37101
Kix G cold 110 2 1 260 0.0 21.0 3 40 25 2 1.00 1.50 39.24111
Rice Krispies K cold 110 2 0 290 0.0 22.0 3 35 25 1 1.00 1.00 40.56016
Special K K cold 110 6 0 230 1.0 16.0 3 55 25 1 1.00 1.00 53.13132
Total Corn Flakes G cold 110 2 1 200 0.0 21.0 3 35 100 3 1.00 1.00 38.83975
Triples G cold 110 2 1 250 0.0 21.0 3 60 25 3 1.00 0.75 39.10617
Just Right Crunchy Nuggets K cold 110 2 1 170 1.0 17.0 6 60 100 3 1.00 1.00 36.52368
Clusters G cold 110 3 2 140 2.0 13.0 7 105 25 3 1.00 0.50 40.40021
Cracklin' Oat Bran K cold 110 3 3 140 4.0 10.0 7 160 25 3 1.00 0.50 40.44877
Almond Delight R cold 110 2 2 200 1.0 14.0 8 -1 25 3 1.00 0.75 34.38484
Wheaties Honey Gold G cold 110 2 1 200 1.0 16.0 8 60 25 1 1.00 0.75 36.18756
Golden Grahams G cold 110 1 1 280 0.0 15.0 9 45 25 2 1.00 0.75 23.80404
Apple Cinnamon Cheerios G cold 110 2 2 180 1.5 10.5 10 70 25 1 1.00 0.75 29.50954
Honey Nut Cheerios G cold 110 3 1 250 1.5 11.5 10 90 25 1 1.00 0.75 31.07222
Frosted Flakes K cold 110 1 0 200 1.0 14.0 11 25 25 1 1.00 0.75 31.43597
Honey-comb P cold 110 1 0 180 0.0 14.0 11 35 25 1 1.00 1.33 28.74241
Corn Pops K cold 110 1 0 90 1.0 13.0 12 20 25 2 1.00 1.00 35.78279
Fruity Pebbles P cold 110 1 1 135 0.0 13.0 12 25 25 2 1.00 0.75 28.02576
Lucky Charms G cold 110 2 1 180 0.0 12.0 12 55 25 2 1.00 1.00 26.73451
Trix G cold 110 1 1 140 0.0 13.0 12 25 25 2 1.00 1.00 27.75330
Cocoa Puffs G cold 110 1 1 180 0.0 12.0 13 55 25 2 1.00 1.00 22.73645
Count Chocula G cold 110 1 1 180 0.0 12.0 13 65 25 2 1.00 1.00 22.39651
Froot Loops K cold 110 2 1 125 1.0 11.0 13 30 25 2 1.00 1.00 32.20758
Apple Jacks K cold 110 2 0 125 1.0 11.0 14 30 25 2 1.00 1.00 33.17409
Smacks K cold 110 2 1 70 1.0 9.0 15 40 25 2 1.00 0.75 31.23005
Great Grains Pecan P cold 120 3 3 75 3.0 13.0 4 100 25 3 1.00 0.33 45.81172
100% Natural Bran Q cold 120 3 5 15 2.0 8.0 8 135 0 3 1.00 1.00 33.98368
Cinnamon Toast Crunch G cold 120 1 3 210 0.0 13.0 9 45 25 2 1.00 0.75 19.82357
Nut&Honey Crunch K cold 120 2 1 190 0.0 15.0 9 40 25 2 1.00 0.67 29.92429
Fruit & Fibre Dates; Walnuts; and Oats P cold 120 3 2 160 5.0 12.0 10 200 25 3 1.25 0.67 40.91705
Honey Graham Ohs Q cold 120 1 2 220 1.0 12.0 11 45 25 2 1.00 1.00 21.87129
Cap'n'Crunch Q cold 120 1 2 220 0.0 12.0 12 35 25 2 1.00 0.75 18.04285
Fruitful Bran K cold 120 3 0 240 5.0 14.0 12 190 25 3 1.33 0.67 41.01549
Raisin Bran K cold 120 3 1 210 5.0 14.0 12 240 25 2 1.33 0.75 39.25920
Post Nat. Raisin Bran P cold 120 3 1 200 6.0 11.0 14 260 25 3 1.33 0.67 37.84059
Basic 4 G cold 130 3 2 210 2.0 18.0 8 100 25 3 1.33 0.75 37.03856
Oatmeal Raisin Crisp G cold 130 3 2 170 1.5 13.5 10 120 25 3 1.25 0.50 30.45084
Nutri-Grain Almond-Raisin K cold 140 3 2 220 3.0 21.0 7 130 25 3 1.33 0.67 40.69232
Just Right Fruit & Nut K cold 140 3 1 170 2.0 20.0 9 95 100 3 1.30 0.75 36.47151
Total Raisin Bran G cold 140 3 1 190 4.0 15.0 14 230 100 3 1.50 1.00 28.59278
Muesli Raisins; Dates; & Almonds R cold 150 4 3 95 3.0 16.0 11 170 25 3 1.00 1.00 37.13686
Muesli Raisins; Peaches; & Pecans R cold 150 4 3 150 3.0 16.0 11 170 25 3 1.00 1.00 34.13976
Mueslix Crispy Blend K cold 160 3 2 150 3.0 17.0 13 160 25 3 1.50 0.67 30.31335

arrange(): Descending Order

Default is ascending order!

cereal |> 
  arrange(calories)

Need to add desc() to get descending order!

cereal |> 
  arrange(desc(calories))

slice_max()

cereal |> 
  slice_max(order_by = sugars, n = 3)
                   name manuf type calories protein fat sodium fiber carbo
1          Golden Crisp     P cold      100       2   0     45     0    11
2                Smacks     K cold      110       2   1     70     1     9
3           Apple Jacks     K cold      110       2   0    125     1    11
4 Post Nat. Raisin Bran     P cold      120       3   1    200     6    11
5     Total Raisin Bran     G cold      140       3   1    190     4    15
  sugars potass vitamins shelf weight cups   rating
1     15     40       25     1   1.00 0.88 35.25244
2     15     40       25     2   1.00 0.75 31.23005
3     14     30       25     2   1.00 1.00 33.17409
4     14    260       25     3   1.33 0.67 37.84059
5     14    230      100     3   1.50 1.00 28.59278
cereal |> 
  slice_max(order_by = sugars, n = 3, with_ties = FALSE)

Tip

It is good practice to specify the function arguments!

select()

We select which variables we would like to remain in the dataset.

cereal |> 
  select(name, manuf, calories, cups)
name manuf calories cups
100% Bran N 70 0.33
100% Natural Bran Q 120 1.00
All-Bran K 70 0.33
All-Bran with Extra Fiber K 50 0.50
Almond Delight R 110 0.75
Apple Cinnamon Cheerios G 110 0.75
Apple Jacks K 110 1.00
Basic 4 G 130 0.75
Bran Chex R 90 0.67
Bran Flakes P 90 0.67
Cap'n'Crunch Q 120 0.75
Cheerios G 110 1.25
Cinnamon Toast Crunch G 120 0.75
Clusters G 110 0.50
Cocoa Puffs G 110 1.00
Corn Chex R 110 1.00
Corn Flakes K 100 1.00
Corn Pops K 110 1.00
Count Chocula G 110 1.00
Cracklin' Oat Bran K 110 0.50
Cream of Wheat (Quick) N 100 1.00
Crispix K 110 1.00
Crispy Wheat & Raisins G 100 0.75
Double Chex R 100 0.75
Froot Loops K 110 1.00
Frosted Flakes K 110 0.75
Frosted Mini-Wheats K 100 0.80
Fruit & Fibre Dates; Walnuts; and Oats P 120 0.67
Fruitful Bran K 120 0.67
Fruity Pebbles P 110 0.75
Golden Crisp P 100 0.88
Golden Grahams G 110 0.75
Grape Nuts Flakes P 100 0.88
Grape-Nuts P 110 0.25
Great Grains Pecan P 120 0.33
Honey Graham Ohs Q 120 1.00
Honey Nut Cheerios G 110 0.75
Honey-comb P 110 1.33
Just Right Crunchy Nuggets K 110 1.00
Just Right Fruit & Nut K 140 0.75
Kix G 110 1.50
Life Q 100 0.67
Lucky Charms G 110 1.00
Maypo A 100 1.00
Muesli Raisins; Dates; & Almonds R 150 1.00
Muesli Raisins; Peaches; & Pecans R 150 1.00
Mueslix Crispy Blend K 160 0.67
Multi-Grain Cheerios G 100 1.00
Nut&Honey Crunch K 120 0.67
Nutri-Grain Almond-Raisin K 140 0.67
Nutri-grain Wheat K 90 1.00
Oatmeal Raisin Crisp G 130 0.50
Post Nat. Raisin Bran P 120 0.67
Product 19 K 100 1.00
Puffed Rice Q 50 1.00
Puffed Wheat Q 50 1.00
Quaker Oat Squares Q 100 0.50
Quaker Oatmeal Q 100 0.67
Raisin Bran K 120 0.75
Raisin Nut Bran G 100 0.50
Raisin Squares K 90 0.50
Rice Chex R 110 1.13
Rice Krispies K 110 1.00
Shredded Wheat N 80 1.00
Shredded Wheat 'n'Bran N 90 0.67
Shredded Wheat spoon size N 90 0.67
Smacks K 110 0.75
Special K K 110 1.00
Strawberry Fruit Wheats N 90 1.00
Total Corn Flakes G 110 1.00
Total Raisin Bran G 140 1.00
Total Whole Grain G 100 1.00
Triples G 110 0.75
Trix G 110 1.00
Wheat Chex R 100 0.67
Wheaties G 100 1.00
Wheaties Honey Gold G 110 0.75

You can use the : to select a sequence of columns!

cereal |> 
  select(name:calories)
name manuf type calories
100% Bran N cold 70
100% Natural Bran Q cold 120
All-Bran K cold 70
All-Bran with Extra Fiber K cold 50
Almond Delight R cold 110
Apple Cinnamon Cheerios G cold 110
Apple Jacks K cold 110
Basic 4 G cold 130
Bran Chex R cold 90
Bran Flakes P cold 90
Cap'n'Crunch Q cold 120
Cheerios G cold 110
Cinnamon Toast Crunch G cold 120
Clusters G cold 110
Cocoa Puffs G cold 110
Corn Chex R cold 110
Corn Flakes K cold 100
Corn Pops K cold 110
Count Chocula G cold 110
Cracklin' Oat Bran K cold 110
Cream of Wheat (Quick) N hot 100
Crispix K cold 110
Crispy Wheat & Raisins G cold 100
Double Chex R cold 100
Froot Loops K cold 110
Frosted Flakes K cold 110
Frosted Mini-Wheats K cold 100
Fruit & Fibre Dates; Walnuts; and Oats P cold 120
Fruitful Bran K cold 120
Fruity Pebbles P cold 110
Golden Crisp P cold 100
Golden Grahams G cold 110
Grape Nuts Flakes P cold 100
Grape-Nuts P cold 110
Great Grains Pecan P cold 120
Honey Graham Ohs Q cold 120
Honey Nut Cheerios G cold 110
Honey-comb P cold 110
Just Right Crunchy Nuggets K cold 110
Just Right Fruit & Nut K cold 140
Kix G cold 110
Life Q cold 100
Lucky Charms G cold 110
Maypo A hot 100
Muesli Raisins; Dates; & Almonds R cold 150
Muesli Raisins; Peaches; & Pecans R cold 150
Mueslix Crispy Blend K cold 160
Multi-Grain Cheerios G cold 100
Nut&Honey Crunch K cold 120
Nutri-Grain Almond-Raisin K cold 140
Nutri-grain Wheat K cold 90
Oatmeal Raisin Crisp G cold 130
Post Nat. Raisin Bran P cold 120
Product 19 K cold 100
Puffed Rice Q cold 50
Puffed Wheat Q cold 50
Quaker Oat Squares Q cold 100
Quaker Oatmeal Q hot 100
Raisin Bran K cold 120
Raisin Nut Bran G cold 100
Raisin Squares K cold 90
Rice Chex R cold 110
Rice Krispies K cold 110
Shredded Wheat N cold 80
Shredded Wheat 'n'Bran N cold 90
Shredded Wheat spoon size N cold 90
Smacks K cold 110
Special K K cold 110
Strawberry Fruit Wheats N cold 90
Total Corn Flakes G cold 110
Total Raisin Bran G cold 140
Total Whole Grain G cold 100
Triples G cold 110
Trix G cold 110
Wheat Chex R cold 100
Wheaties G cold 100
Wheaties Honey Gold G cold 110

select(): Omitting Columns

You can remove columns from the dataset using a -.

cereal |> 
  select(-rating)

select(): Reordering

You can reorder the columns in the dataset inside of select()!

cereal |> 
  select(name, rating, manuf, type, calories, cups, weight, 
         everything())
name rating manuf type calories cups weight protein fat sodium fiber carbo sugars potass vitamins shelf
100% Bran 68.40297 N cold 70 0.33 1.00 4 1 130 10.0 5.0 6 280 25 3
100% Natural Bran 33.98368 Q cold 120 1.00 1.00 3 5 15 2.0 8.0 8 135 0 3
All-Bran 59.42551 K cold 70 0.33 1.00 4 1 260 9.0 7.0 5 320 25 3
All-Bran with Extra Fiber 93.70491 K cold 50 0.50 1.00 4 0 140 14.0 8.0 0 330 25 3
Almond Delight 34.38484 R cold 110 0.75 1.00 2 2 200 1.0 14.0 8 -1 25 3
Apple Cinnamon Cheerios 29.50954 G cold 110 0.75 1.00 2 2 180 1.5 10.5 10 70 25 1
Apple Jacks 33.17409 K cold 110 1.00 1.00 2 0 125 1.0 11.0 14 30 25 2
Basic 4 37.03856 G cold 130 0.75 1.33 3 2 210 2.0 18.0 8 100 25 3
Bran Chex 49.12025 R cold 90 0.67 1.00 2 1 200 4.0 15.0 6 125 25 1
Bran Flakes 53.31381 P cold 90 0.67 1.00 3 0 210 5.0 13.0 5 190 25 3
Cap'n'Crunch 18.04285 Q cold 120 0.75 1.00 1 2 220 0.0 12.0 12 35 25 2
Cheerios 50.76500 G cold 110 1.25 1.00 6 2 290 2.0 17.0 1 105 25 1
Cinnamon Toast Crunch 19.82357 G cold 120 0.75 1.00 1 3 210 0.0 13.0 9 45 25 2
Clusters 40.40021 G cold 110 0.50 1.00 3 2 140 2.0 13.0 7 105 25 3
Cocoa Puffs 22.73645 G cold 110 1.00 1.00 1 1 180 0.0 12.0 13 55 25 2
Corn Chex 41.44502 R cold 110 1.00 1.00 2 0 280 0.0 22.0 3 25 25 1
Corn Flakes 45.86332 K cold 100 1.00 1.00 2 0 290 1.0 21.0 2 35 25 1
Corn Pops 35.78279 K cold 110 1.00 1.00 1 0 90 1.0 13.0 12 20 25 2
Count Chocula 22.39651 G cold 110 1.00 1.00 1 1 180 0.0 12.0 13 65 25 2
Cracklin' Oat Bran 40.44877 K cold 110 0.50 1.00 3 3 140 4.0 10.0 7 160 25 3
Cream of Wheat (Quick) 64.53382 N hot 100 1.00 1.00 3 0 80 1.0 21.0 0 -1 0 2
Crispix 46.89564 K cold 110 1.00 1.00 2 0 220 1.0 21.0 3 30 25 3
Crispy Wheat & Raisins 36.17620 G cold 100 0.75 1.00 2 1 140 2.0 11.0 10 120 25 3
Double Chex 44.33086 R cold 100 0.75 1.00 2 0 190 1.0 18.0 5 80 25 3
Froot Loops 32.20758 K cold 110 1.00 1.00 2 1 125 1.0 11.0 13 30 25 2
Frosted Flakes 31.43597 K cold 110 0.75 1.00 1 0 200 1.0 14.0 11 25 25 1
Frosted Mini-Wheats 58.34514 K cold 100 0.80 1.00 3 0 0 3.0 14.0 7 100 25 2
Fruit & Fibre Dates; Walnuts; and Oats 40.91705 P cold 120 0.67 1.25 3 2 160 5.0 12.0 10 200 25 3
Fruitful Bran 41.01549 K cold 120 0.67 1.33 3 0 240 5.0 14.0 12 190 25 3
Fruity Pebbles 28.02576 P cold 110 0.75 1.00 1 1 135 0.0 13.0 12 25 25 2
Golden Crisp 35.25244 P cold 100 0.88 1.00 2 0 45 0.0 11.0 15 40 25 1
Golden Grahams 23.80404 G cold 110 0.75 1.00 1 1 280 0.0 15.0 9 45 25 2
Grape Nuts Flakes 52.07690 P cold 100 0.88 1.00 3 1 140 3.0 15.0 5 85 25 3
Grape-Nuts 53.37101 P cold 110 0.25 1.00 3 0 170 3.0 17.0 3 90 25 3
Great Grains Pecan 45.81172 P cold 120 0.33 1.00 3 3 75 3.0 13.0 4 100 25 3
Honey Graham Ohs 21.87129 Q cold 120 1.00 1.00 1 2 220 1.0 12.0 11 45 25 2
Honey Nut Cheerios 31.07222 G cold 110 0.75 1.00 3 1 250 1.5 11.5 10 90 25 1
Honey-comb 28.74241 P cold 110 1.33 1.00 1 0 180 0.0 14.0 11 35 25 1
Just Right Crunchy Nuggets 36.52368 K cold 110 1.00 1.00 2 1 170 1.0 17.0 6 60 100 3
Just Right Fruit & Nut 36.47151 K cold 140 0.75 1.30 3 1 170 2.0 20.0 9 95 100 3
Kix 39.24111 G cold 110 1.50 1.00 2 1 260 0.0 21.0 3 40 25 2
Life 45.32807 Q cold 100 0.67 1.00 4 2 150 2.0 12.0 6 95 25 2
Lucky Charms 26.73451 G cold 110 1.00 1.00 2 1 180 0.0 12.0 12 55 25 2
Maypo 54.85092 A hot 100 1.00 1.00 4 1 0 0.0 16.0 3 95 25 2
Muesli Raisins; Dates; & Almonds 37.13686 R cold 150 1.00 1.00 4 3 95 3.0 16.0 11 170 25 3
Muesli Raisins; Peaches; & Pecans 34.13976 R cold 150 1.00 1.00 4 3 150 3.0 16.0 11 170 25 3
Mueslix Crispy Blend 30.31335 K cold 160 0.67 1.50 3 2 150 3.0 17.0 13 160 25 3
Multi-Grain Cheerios 40.10596 G cold 100 1.00 1.00 2 1 220 2.0 15.0 6 90 25 1
Nut&Honey Crunch 29.92429 K cold 120 0.67 1.00 2 1 190 0.0 15.0 9 40 25 2
Nutri-Grain Almond-Raisin 40.69232 K cold 140 0.67 1.33 3 2 220 3.0 21.0 7 130 25 3
Nutri-grain Wheat 59.64284 K cold 90 1.00 1.00 3 0 170 3.0 18.0 2 90 25 3
Oatmeal Raisin Crisp 30.45084 G cold 130 0.50 1.25 3 2 170 1.5 13.5 10 120 25 3
Post Nat. Raisin Bran 37.84059 P cold 120 0.67 1.33 3 1 200 6.0 11.0 14 260 25 3
Product 19 41.50354 K cold 100 1.00 1.00 3 0 320 1.0 20.0 3 45 100 3
Puffed Rice 60.75611 Q cold 50 1.00 0.50 1 0 0 0.0 13.0 0 15 0 3
Puffed Wheat 63.00565 Q cold 50 1.00 0.50 2 0 0 1.0 10.0 0 50 0 3
Quaker Oat Squares 49.51187 Q cold 100 0.50 1.00 4 1 135 2.0 14.0 6 110 25 3
Quaker Oatmeal 50.82839 Q hot 100 0.67 1.00 5 2 0 2.7 -1.0 -1 110 0 1
Raisin Bran 39.25920 K cold 120 0.75 1.33 3 1 210 5.0 14.0 12 240 25 2
Raisin Nut Bran 39.70340 G cold 100 0.50 1.00 3 2 140 2.5 10.5 8 140 25 3
Raisin Squares 55.33314 K cold 90 0.50 1.00 2 0 0 2.0 15.0 6 110 25 3
Rice Chex 41.99893 R cold 110 1.13 1.00 1 0 240 0.0 23.0 2 30 25 1
Rice Krispies 40.56016 K cold 110 1.00 1.00 2 0 290 0.0 22.0 3 35 25 1
Shredded Wheat 68.23588 N cold 80 1.00 0.83 2 0 0 3.0 16.0 0 95 0 1
Shredded Wheat 'n'Bran 74.47295 N cold 90 0.67 1.00 3 0 0 4.0 19.0 0 140 0 1
Shredded Wheat spoon size 72.80179 N cold 90 0.67 1.00 3 0 0 3.0 20.0 0 120 0 1
Smacks 31.23005 K cold 110 0.75 1.00 2 1 70 1.0 9.0 15 40 25 2
Special K 53.13132 K cold 110 1.00 1.00 6 0 230 1.0 16.0 3 55 25 1
Strawberry Fruit Wheats 59.36399 N cold 90 1.00 1.00 2 0 15 3.0 15.0 5 90 25 2
Total Corn Flakes 38.83975 G cold 110 1.00 1.00 2 1 200 0.0 21.0 3 35 100 3
Total Raisin Bran 28.59278 G cold 140 1.00 1.50 3 1 190 4.0 15.0 14 230 100 3
Total Whole Grain 46.65884 G cold 100 1.00 1.00 3 1 200 3.0 16.0 3 110 100 3
Triples 39.10617 G cold 110 0.75 1.00 2 1 250 0.0 21.0 3 60 25 3
Trix 27.75330 G cold 110 1.00 1.00 1 1 140 0.0 13.0 12 25 25 2
Wheat Chex 49.78744 R cold 100 0.67 1.00 3 1 230 3.0 17.0 3 115 25 1
Wheaties 51.59219 G cold 100 1.00 1.00 3 1 200 3.0 17.0 3 110 25 1
Wheaties Honey Gold 36.18756 G cold 110 0.75 1.00 2 1 200 1.0 16.0 8 60 25 1

select(): Handy Helpers!

  • everything()
  • starts_with()
  • ends_with()
  • contains()

rename()

  • You can use select() to rename, but all columns not included will be deleted!
    • Using the rename() function is easier!
cereal |> 
  rename(temp = type)
                                     name manuf temp calories protein fat
1                               100% Bran     N cold       70       4   1
2                       100% Natural Bran     Q cold      120       3   5
3                                All-Bran     K cold       70       4   1
4               All-Bran with Extra Fiber     K cold       50       4   0
5                          Almond Delight     R cold      110       2   2
6                 Apple Cinnamon Cheerios     G cold      110       2   2
7                             Apple Jacks     K cold      110       2   0
8                                 Basic 4     G cold      130       3   2
9                               Bran Chex     R cold       90       2   1
10                            Bran Flakes     P cold       90       3   0
11                           Cap'n'Crunch     Q cold      120       1   2
12                               Cheerios     G cold      110       6   2
13                  Cinnamon Toast Crunch     G cold      120       1   3
14                               Clusters     G cold      110       3   2
15                            Cocoa Puffs     G cold      110       1   1
16                              Corn Chex     R cold      110       2   0
17                            Corn Flakes     K cold      100       2   0
18                              Corn Pops     K cold      110       1   0
19                          Count Chocula     G cold      110       1   1
20                     Cracklin' Oat Bran     K cold      110       3   3
21                 Cream of Wheat (Quick)     N  hot      100       3   0
22                                Crispix     K cold      110       2   0
23                 Crispy Wheat & Raisins     G cold      100       2   1
24                            Double Chex     R cold      100       2   0
25                            Froot Loops     K cold      110       2   1
26                         Frosted Flakes     K cold      110       1   0
27                    Frosted Mini-Wheats     K cold      100       3   0
28 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120       3   2
29                          Fruitful Bran     K cold      120       3   0
30                         Fruity Pebbles     P cold      110       1   1
31                           Golden Crisp     P cold      100       2   0
32                         Golden Grahams     G cold      110       1   1
33                      Grape Nuts Flakes     P cold      100       3   1
34                             Grape-Nuts     P cold      110       3   0
35                     Great Grains Pecan     P cold      120       3   3
36                       Honey Graham Ohs     Q cold      120       1   2
37                     Honey Nut Cheerios     G cold      110       3   1
38                             Honey-comb     P cold      110       1   0
39            Just Right Crunchy  Nuggets     K cold      110       2   1
40                 Just Right Fruit & Nut     K cold      140       3   1
41                                    Kix     G cold      110       2   1
42                                   Life     Q cold      100       4   2
43                           Lucky Charms     G cold      110       2   1
44                                  Maypo     A  hot      100       4   1
45       Muesli Raisins; Dates; & Almonds     R cold      150       4   3
46      Muesli Raisins; Peaches; & Pecans     R cold      150       4   3
47                   Mueslix Crispy Blend     K cold      160       3   2
48                   Multi-Grain Cheerios     G cold      100       2   1
49                       Nut&Honey Crunch     K cold      120       2   1
50              Nutri-Grain Almond-Raisin     K cold      140       3   2
51                      Nutri-grain Wheat     K cold       90       3   0
52                   Oatmeal Raisin Crisp     G cold      130       3   2
53                  Post Nat. Raisin Bran     P cold      120       3   1
54                             Product 19     K cold      100       3   0
55                            Puffed Rice     Q cold       50       1   0
56                           Puffed Wheat     Q cold       50       2   0
57                     Quaker Oat Squares     Q cold      100       4   1
58                         Quaker Oatmeal     Q  hot      100       5   2
59                            Raisin Bran     K cold      120       3   1
60                        Raisin Nut Bran     G cold      100       3   2
61                         Raisin Squares     K cold       90       2   0
62                              Rice Chex     R cold      110       1   0
63                          Rice Krispies     K cold      110       2   0
64                         Shredded Wheat     N cold       80       2   0
65                 Shredded Wheat 'n'Bran     N cold       90       3   0
66              Shredded Wheat spoon size     N cold       90       3   0
67                                 Smacks     K cold      110       2   1
68                              Special K     K cold      110       6   0
69                Strawberry Fruit Wheats     N cold       90       2   0
70                      Total Corn Flakes     G cold      110       2   1
71                      Total Raisin Bran     G cold      140       3   1
72                      Total Whole Grain     G cold      100       3   1
73                                Triples     G cold      110       2   1
74                                   Trix     G cold      110       1   1
75                             Wheat Chex     R cold      100       3   1
76                               Wheaties     G cold      100       3   1
77                    Wheaties Honey Gold     G cold      110       2   1
   sodium fiber carbo sugars potass vitamins shelf weight cups   rating
1     130  10.0   5.0      6    280       25     3   1.00 0.33 68.40297
2      15   2.0   8.0      8    135        0     3   1.00 1.00 33.98368
3     260   9.0   7.0      5    320       25     3   1.00 0.33 59.42551
4     140  14.0   8.0      0    330       25     3   1.00 0.50 93.70491
5     200   1.0  14.0      8     -1       25     3   1.00 0.75 34.38484
6     180   1.5  10.5     10     70       25     1   1.00 0.75 29.50954
7     125   1.0  11.0     14     30       25     2   1.00 1.00 33.17409
8     210   2.0  18.0      8    100       25     3   1.33 0.75 37.03856
9     200   4.0  15.0      6    125       25     1   1.00 0.67 49.12025
10    210   5.0  13.0      5    190       25     3   1.00 0.67 53.31381
11    220   0.0  12.0     12     35       25     2   1.00 0.75 18.04285
12    290   2.0  17.0      1    105       25     1   1.00 1.25 50.76500
13    210   0.0  13.0      9     45       25     2   1.00 0.75 19.82357
14    140   2.0  13.0      7    105       25     3   1.00 0.50 40.40021
15    180   0.0  12.0     13     55       25     2   1.00 1.00 22.73645
16    280   0.0  22.0      3     25       25     1   1.00 1.00 41.44502
17    290   1.0  21.0      2     35       25     1   1.00 1.00 45.86332
18     90   1.0  13.0     12     20       25     2   1.00 1.00 35.78279
19    180   0.0  12.0     13     65       25     2   1.00 1.00 22.39651
20    140   4.0  10.0      7    160       25     3   1.00 0.50 40.44877
21     80   1.0  21.0      0     -1        0     2   1.00 1.00 64.53382
22    220   1.0  21.0      3     30       25     3   1.00 1.00 46.89564
23    140   2.0  11.0     10    120       25     3   1.00 0.75 36.17620
24    190   1.0  18.0      5     80       25     3   1.00 0.75 44.33086
25    125   1.0  11.0     13     30       25     2   1.00 1.00 32.20758
26    200   1.0  14.0     11     25       25     1   1.00 0.75 31.43597
27      0   3.0  14.0      7    100       25     2   1.00 0.80 58.34514
28    160   5.0  12.0     10    200       25     3   1.25 0.67 40.91705
29    240   5.0  14.0     12    190       25     3   1.33 0.67 41.01549
30    135   0.0  13.0     12     25       25     2   1.00 0.75 28.02576
31     45   0.0  11.0     15     40       25     1   1.00 0.88 35.25244
32    280   0.0  15.0      9     45       25     2   1.00 0.75 23.80404
33    140   3.0  15.0      5     85       25     3   1.00 0.88 52.07690
34    170   3.0  17.0      3     90       25     3   1.00 0.25 53.37101
35     75   3.0  13.0      4    100       25     3   1.00 0.33 45.81172
36    220   1.0  12.0     11     45       25     2   1.00 1.00 21.87129
37    250   1.5  11.5     10     90       25     1   1.00 0.75 31.07222
38    180   0.0  14.0     11     35       25     1   1.00 1.33 28.74241
39    170   1.0  17.0      6     60      100     3   1.00 1.00 36.52368
40    170   2.0  20.0      9     95      100     3   1.30 0.75 36.47151
41    260   0.0  21.0      3     40       25     2   1.00 1.50 39.24111
42    150   2.0  12.0      6     95       25     2   1.00 0.67 45.32807
43    180   0.0  12.0     12     55       25     2   1.00 1.00 26.73451
44      0   0.0  16.0      3     95       25     2   1.00 1.00 54.85092
45     95   3.0  16.0     11    170       25     3   1.00 1.00 37.13686
46    150   3.0  16.0     11    170       25     3   1.00 1.00 34.13976
47    150   3.0  17.0     13    160       25     3   1.50 0.67 30.31335
48    220   2.0  15.0      6     90       25     1   1.00 1.00 40.10596
49    190   0.0  15.0      9     40       25     2   1.00 0.67 29.92429
50    220   3.0  21.0      7    130       25     3   1.33 0.67 40.69232
51    170   3.0  18.0      2     90       25     3   1.00 1.00 59.64284
52    170   1.5  13.5     10    120       25     3   1.25 0.50 30.45084
53    200   6.0  11.0     14    260       25     3   1.33 0.67 37.84059
54    320   1.0  20.0      3     45      100     3   1.00 1.00 41.50354
55      0   0.0  13.0      0     15        0     3   0.50 1.00 60.75611
56      0   1.0  10.0      0     50        0     3   0.50 1.00 63.00565
57    135   2.0  14.0      6    110       25     3   1.00 0.50 49.51187
58      0   2.7  -1.0     -1    110        0     1   1.00 0.67 50.82839
59    210   5.0  14.0     12    240       25     2   1.33 0.75 39.25920
60    140   2.5  10.5      8    140       25     3   1.00 0.50 39.70340
61      0   2.0  15.0      6    110       25     3   1.00 0.50 55.33314
62    240   0.0  23.0      2     30       25     1   1.00 1.13 41.99893
63    290   0.0  22.0      3     35       25     1   1.00 1.00 40.56016
64      0   3.0  16.0      0     95        0     1   0.83 1.00 68.23588
65      0   4.0  19.0      0    140        0     1   1.00 0.67 74.47295
66      0   3.0  20.0      0    120        0     1   1.00 0.67 72.80179
67     70   1.0   9.0     15     40       25     2   1.00 0.75 31.23005
68    230   1.0  16.0      3     55       25     1   1.00 1.00 53.13132
69     15   3.0  15.0      5     90       25     2   1.00 1.00 59.36399
70    200   0.0  21.0      3     35      100     3   1.00 1.00 38.83975
71    190   4.0  15.0     14    230      100     3   1.50 1.00 28.59278
72    200   3.0  16.0      3    110      100     3   1.00 1.00 46.65884
73    250   0.0  21.0      3     60       25     3   1.00 0.75 39.10617
74    140   0.0  13.0     12     25       25     2   1.00 1.00 27.75330
75    230   3.0  17.0      3    115       25     1   1.00 0.67 49.78744
76    200   3.0  17.0      3    110       25     1   1.00 1.00 51.59219
77    200   1.0  16.0      8     60       25     1   1.00 0.75 36.18756

mutate()

Mutate (by Allison Horst)

mutate()

The data set gets mutated to either

  • include a new variable
cereal |> 
  mutate(cal_per_cup = calories / cups)
name manuf type calories protein fat sodium fiber carbo sugars potass vitamins shelf weight cups rating cal_per_cup
100% Bran N cold 70 4 1 130 10.0 5.0 6 280 25 3 1.00 0.33 68.40297 212.12121
100% Natural Bran Q cold 120 3 5 15 2.0 8.0 8 135 0 3 1.00 1.00 33.98368 120.00000
All-Bran K cold 70 4 1 260 9.0 7.0 5 320 25 3 1.00 0.33 59.42551 212.12121
All-Bran with Extra Fiber K cold 50 4 0 140 14.0 8.0 0 330 25 3 1.00 0.50 93.70491 100.00000
Almond Delight R cold 110 2 2 200 1.0 14.0 8 -1 25 3 1.00 0.75 34.38484 146.66667
Apple Cinnamon Cheerios G cold 110 2 2 180 1.5 10.5 10 70 25 1 1.00 0.75 29.50954 146.66667
Apple Jacks K cold 110 2 0 125 1.0 11.0 14 30 25 2 1.00 1.00 33.17409 110.00000
Basic 4 G cold 130 3 2 210 2.0 18.0 8 100 25 3 1.33 0.75 37.03856 173.33333
Bran Chex R cold 90 2 1 200 4.0 15.0 6 125 25 1 1.00 0.67 49.12025 134.32836
Bran Flakes P cold 90 3 0 210 5.0 13.0 5 190 25 3 1.00 0.67 53.31381 134.32836
Cap'n'Crunch Q cold 120 1 2 220 0.0 12.0 12 35 25 2 1.00 0.75 18.04285 160.00000
Cheerios G cold 110 6 2 290 2.0 17.0 1 105 25 1 1.00 1.25 50.76500 88.00000
Cinnamon Toast Crunch G cold 120 1 3 210 0.0 13.0 9 45 25 2 1.00 0.75 19.82357 160.00000
Clusters G cold 110 3 2 140 2.0 13.0 7 105 25 3 1.00 0.50 40.40021 220.00000
Cocoa Puffs G cold 110 1 1 180 0.0 12.0 13 55 25 2 1.00 1.00 22.73645 110.00000
Corn Chex R cold 110 2 0 280 0.0 22.0 3 25 25 1 1.00 1.00 41.44502 110.00000
Corn Flakes K cold 100 2 0 290 1.0 21.0 2 35 25 1 1.00 1.00 45.86332 100.00000
Corn Pops K cold 110 1 0 90 1.0 13.0 12 20 25 2 1.00 1.00 35.78279 110.00000
Count Chocula G cold 110 1 1 180 0.0 12.0 13 65 25 2 1.00 1.00 22.39651 110.00000
Cracklin' Oat Bran K cold 110 3 3 140 4.0 10.0 7 160 25 3 1.00 0.50 40.44877 220.00000
Cream of Wheat (Quick) N hot 100 3 0 80 1.0 21.0 0 -1 0 2 1.00 1.00 64.53382 100.00000
Crispix K cold 110 2 0 220 1.0 21.0 3 30 25 3 1.00 1.00 46.89564 110.00000
Crispy Wheat & Raisins G cold 100 2 1 140 2.0 11.0 10 120 25 3 1.00 0.75 36.17620 133.33333
Double Chex R cold 100 2 0 190 1.0 18.0 5 80 25 3 1.00 0.75 44.33086 133.33333
Froot Loops K cold 110 2 1 125 1.0 11.0 13 30 25 2 1.00 1.00 32.20758 110.00000
Frosted Flakes K cold 110 1 0 200 1.0 14.0 11 25 25 1 1.00 0.75 31.43597 146.66667
Frosted Mini-Wheats K cold 100 3 0 0 3.0 14.0 7 100 25 2 1.00 0.80 58.34514 125.00000
Fruit & Fibre Dates; Walnuts; and Oats P cold 120 3 2 160 5.0 12.0 10 200 25 3 1.25 0.67 40.91705 179.10448
Fruitful Bran K cold 120 3 0 240 5.0 14.0 12 190 25 3 1.33 0.67 41.01549 179.10448
Fruity Pebbles P cold 110 1 1 135 0.0 13.0 12 25 25 2 1.00 0.75 28.02576 146.66667
Golden Crisp P cold 100 2 0 45 0.0 11.0 15 40 25 1 1.00 0.88 35.25244 113.63636
Golden Grahams G cold 110 1 1 280 0.0 15.0 9 45 25 2 1.00 0.75 23.80404 146.66667
Grape Nuts Flakes P cold 100 3 1 140 3.0 15.0 5 85 25 3 1.00 0.88 52.07690 113.63636
Grape-Nuts P cold 110 3 0 170 3.0 17.0 3 90 25 3 1.00 0.25 53.37101 440.00000
Great Grains Pecan P cold 120 3 3 75 3.0 13.0 4 100 25 3 1.00 0.33 45.81172 363.63636
Honey Graham Ohs Q cold 120 1 2 220 1.0 12.0 11 45 25 2 1.00 1.00 21.87129 120.00000
Honey Nut Cheerios G cold 110 3 1 250 1.5 11.5 10 90 25 1 1.00 0.75 31.07222 146.66667
Honey-comb P cold 110 1 0 180 0.0 14.0 11 35 25 1 1.00 1.33 28.74241 82.70677
Just Right Crunchy Nuggets K cold 110 2 1 170 1.0 17.0 6 60 100 3 1.00 1.00 36.52368 110.00000
Just Right Fruit & Nut K cold 140 3 1 170 2.0 20.0 9 95 100 3 1.30 0.75 36.47151 186.66667
Kix G cold 110 2 1 260 0.0 21.0 3 40 25 2 1.00 1.50 39.24111 73.33333
Life Q cold 100 4 2 150 2.0 12.0 6 95 25 2 1.00 0.67 45.32807 149.25373
Lucky Charms G cold 110 2 1 180 0.0 12.0 12 55 25 2 1.00 1.00 26.73451 110.00000
Maypo A hot 100 4 1 0 0.0 16.0 3 95 25 2 1.00 1.00 54.85092 100.00000
Muesli Raisins; Dates; & Almonds R cold 150 4 3 95 3.0 16.0 11 170 25 3 1.00 1.00 37.13686 150.00000
Muesli Raisins; Peaches; & Pecans R cold 150 4 3 150 3.0 16.0 11 170 25 3 1.00 1.00 34.13976 150.00000
Mueslix Crispy Blend K cold 160 3 2 150 3.0 17.0 13 160 25 3 1.50 0.67 30.31335 238.80597
Multi-Grain Cheerios G cold 100 2 1 220 2.0 15.0 6 90 25 1 1.00 1.00 40.10596 100.00000
Nut&Honey Crunch K cold 120 2 1 190 0.0 15.0 9 40 25 2 1.00 0.67 29.92429 179.10448
Nutri-Grain Almond-Raisin K cold 140 3 2 220 3.0 21.0 7 130 25 3 1.33 0.67 40.69232 208.95522
Nutri-grain Wheat K cold 90 3 0 170 3.0 18.0 2 90 25 3 1.00 1.00 59.64284 90.00000
Oatmeal Raisin Crisp G cold 130 3 2 170 1.5 13.5 10 120 25 3 1.25 0.50 30.45084 260.00000
Post Nat. Raisin Bran P cold 120 3 1 200 6.0 11.0 14 260 25 3 1.33 0.67 37.84059 179.10448
Product 19 K cold 100 3 0 320 1.0 20.0 3 45 100 3 1.00 1.00 41.50354 100.00000
Puffed Rice Q cold 50 1 0 0 0.0 13.0 0 15 0 3 0.50 1.00 60.75611 50.00000
Puffed Wheat Q cold 50 2 0 0 1.0 10.0 0 50 0 3 0.50 1.00 63.00565 50.00000
Quaker Oat Squares Q cold 100 4 1 135 2.0 14.0 6 110 25 3 1.00 0.50 49.51187 200.00000
Quaker Oatmeal Q hot 100 5 2 0 2.7 -1.0 -1 110 0 1 1.00 0.67 50.82839 149.25373
Raisin Bran K cold 120 3 1 210 5.0 14.0 12 240 25 2 1.33 0.75 39.25920 160.00000
Raisin Nut Bran G cold 100 3 2 140 2.5 10.5 8 140 25 3 1.00 0.50 39.70340 200.00000
Raisin Squares K cold 90 2 0 0 2.0 15.0 6 110 25 3 1.00 0.50 55.33314 180.00000
Rice Chex R cold 110 1 0 240 0.0 23.0 2 30 25 1 1.00 1.13 41.99893 97.34513
Rice Krispies K cold 110 2 0 290 0.0 22.0 3 35 25 1 1.00 1.00 40.56016 110.00000
Shredded Wheat N cold 80 2 0 0 3.0 16.0 0 95 0 1 0.83 1.00 68.23588 80.00000
Shredded Wheat 'n'Bran N cold 90 3 0 0 4.0 19.0 0 140 0 1 1.00 0.67 74.47295 134.32836
Shredded Wheat spoon size N cold 90 3 0 0 3.0 20.0 0 120 0 1 1.00 0.67 72.80179 134.32836
Smacks K cold 110 2 1 70 1.0 9.0 15 40 25 2 1.00 0.75 31.23005 146.66667
Special K K cold 110 6 0 230 1.0 16.0 3 55 25 1 1.00 1.00 53.13132 110.00000
Strawberry Fruit Wheats N cold 90 2 0 15 3.0 15.0 5 90 25 2 1.00 1.00 59.36399 90.00000
Total Corn Flakes G cold 110 2 1 200 0.0 21.0 3 35 100 3 1.00 1.00 38.83975 110.00000
Total Raisin Bran G cold 140 3 1 190 4.0 15.0 14 230 100 3 1.50 1.00 28.59278 140.00000
Total Whole Grain G cold 100 3 1 200 3.0 16.0 3 110 100 3 1.00 1.00 46.65884 100.00000
Triples G cold 110 2 1 250 0.0 21.0 3 60 25 3 1.00 0.75 39.10617 146.66667
Trix G cold 110 1 1 140 0.0 13.0 12 25 25 2 1.00 1.00 27.75330 110.00000
Wheat Chex R cold 100 3 1 230 3.0 17.0 3 115 25 1 1.00 0.67 49.78744 149.25373
Wheaties G cold 100 3 1 200 3.0 17.0 3 110 25 1 1.00 1.00 51.59219 100.00000
Wheaties Honey Gold G cold 110 2 1 200 1.0 16.0 8 60 25 1 1.00 0.75 36.18756 146.66667


  • revise an existing variable
cereal |> 
  mutate(shelf = as.factor(shelf))

mutate(): Handy Helpers!

  • if_else() or case_when()
  • as.factor(), as.numeric(), etc.
  • +, -, *, /
  • %%

group_by()

The ungroup() command is just as important as the group_by() command! (by Allison Horst)

group_by()

Separating a categorical variable into its different levels.

cereal |> 
  group_by(type)
# A tibble: 77 × 16
# Groups:   type [2]
   name       manuf type  calor…¹ protein   fat sodium fiber carbo sugars potass
   <fct>      <fct> <fct>   <int>   <int> <int>  <int> <dbl> <dbl>  <int>  <int>
 1 100% Bran  N     cold       70       4     1    130  10     5        6    280
 2 100% Natu… Q     cold      120       3     5     15   2     8        8    135
 3 All-Bran   K     cold       70       4     1    260   9     7        5    320
 4 All-Bran … K     cold       50       4     0    140  14     8        0    330
 5 Almond De… R     cold      110       2     2    200   1    14        8     -1
 6 Apple Cin… G     cold      110       2     2    180   1.5  10.5     10     70
 7 Apple Jac… K     cold      110       2     0    125   1    11       14     30
 8 Basic 4    G     cold      130       3     2    210   2    18        8    100
 9 Bran Chex  R     cold       90       2     1    200   4    15        6    125
10 Bran Flak… P     cold       90       3     0    210   5    13        5    190
# … with 67 more rows, 5 more variables: vitamins <int>, shelf <int>,
#   weight <dbl>, cups <dbl>, rating <dbl>, and abbreviated variable name
#   ¹​calories

summarize()

group_by() is almost always paired with summarize()!

summarize()

We calculate different summaries of variables in the data set.

cereal |> 
  summarise(mean_calories = mean(calories))
  mean_calories
1      106.8831

Or multiple summaries.

cereal |> 
summarise(mean_calories = mean(calories),
          num_cereals = n(),
          mean_sugar = mean(sugars)
          )
  mean_calories num_cereals mean_sugar
1      106.8831          77   6.922078

group_by() + summarize() = Power!

cereal |> 
  group_by(manuf) |> 
  summarise(mean_calories = mean(calories))
# A tibble: 7 × 2
  manuf mean_calories
  <fct>         <dbl>
1 A             100  
2 G             111. 
3 K             109. 
4 N              86.7
5 P             109. 
6 Q              95  
7 R             115  

summarize(): Handy Helpers!

  • mean(), median(), sd(), sum()
  • n(), n_distinct()
  • min(), max()
  • first(), last(), nth()
  • across()

Glue it all together!

cereal |> 
  filter(type == "cold") |> 
  mutate(cal_per_cup = calories / cups) |> 
  group_by(manuf) |> 
  summarise(mean_cal_per_cup = mean(cal_per_cup))
# A tibble: 6 × 2
  manuf mean_cal_per_cup
  <fct>            <dbl>
1 G                 138.
2 K                 145.
3 N                 130.
4 P                 195.
5 Q                 121.
6 R                 134.

Save your changes!

When you make these changes, make sure you are assigning them to a data set!

cereal_summary <- cereal |> 
  filter(type == type) |> 
  mutate(cal_per_cup = calories / cups) |> 
  group_by(manuf) |> 
  summarise(mean_cal_per_cup = mean(cal_per_cup))

Formatting your code

cereal |> group_by(type) |> summarise(mean_calories = mean(calories), num_cereals = n(), mean_sugar = mean(sugars))
cereal |> 
  group_by(type) |> 
  summarise(mean_calories = mean(calories), 
            num_cereals = n(),
            mean_sugar = mean(sugars)
            )

PA 3: Identify the Mystery College

Today you will be using the dplyr package to clean a data set and then using that cleaned data set to figure out what college Ephelia has been accepted to.

Submit the full name of the college Ephelia will attend to the Canvas Quiz.

To do…

  • PA 3: Identify the Mystery College
    • Due Wednesday 1/25 at 8:00am

Wednesday, January 25th

Today we will…

  • Review PA 3: Identify the Mystery College
  • Extending dplyr verbs
    • across()
    • if_else()
    • case_when()
  • Implication of Data Ethics
  • Lab 3: Hip Hop Lyrics
  • Challenge 3: Published Comparisons & Data Ethics

Summarize or mutate multiple columns with across()

cereal |> 
  group_by(type) |> 
  summarise(across(.cols = calories:potass, .fns = mean))
# A tibble: 2 × 9
  type  calories protein   fat sodium fiber carbo sugars potass
  <fct>    <dbl>   <dbl> <dbl>  <dbl> <dbl> <dbl>  <dbl>  <dbl>
1 cold      107.    2.49  1.01  165.   2.19  14.7  7.18    97.2
2 hot       100     4     1      26.7  1.23  12    0.667   68  

Discritize with if_else()

cereal |> 
  mutate(low_cal = if_else(calories < 100, "low", "high"))
                                     name manuf type calories protein fat
1                               100% Bran     N cold       70       4   1
2                       100% Natural Bran     Q cold      120       3   5
3                                All-Bran     K cold       70       4   1
4               All-Bran with Extra Fiber     K cold       50       4   0
5                          Almond Delight     R cold      110       2   2
6                 Apple Cinnamon Cheerios     G cold      110       2   2
7                             Apple Jacks     K cold      110       2   0
8                                 Basic 4     G cold      130       3   2
9                               Bran Chex     R cold       90       2   1
10                            Bran Flakes     P cold       90       3   0
11                           Cap'n'Crunch     Q cold      120       1   2
12                               Cheerios     G cold      110       6   2
13                  Cinnamon Toast Crunch     G cold      120       1   3
14                               Clusters     G cold      110       3   2
15                            Cocoa Puffs     G cold      110       1   1
16                              Corn Chex     R cold      110       2   0
17                            Corn Flakes     K cold      100       2   0
18                              Corn Pops     K cold      110       1   0
19                          Count Chocula     G cold      110       1   1
20                     Cracklin' Oat Bran     K cold      110       3   3
21                 Cream of Wheat (Quick)     N  hot      100       3   0
22                                Crispix     K cold      110       2   0
23                 Crispy Wheat & Raisins     G cold      100       2   1
24                            Double Chex     R cold      100       2   0
25                            Froot Loops     K cold      110       2   1
26                         Frosted Flakes     K cold      110       1   0
27                    Frosted Mini-Wheats     K cold      100       3   0
28 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120       3   2
29                          Fruitful Bran     K cold      120       3   0
30                         Fruity Pebbles     P cold      110       1   1
31                           Golden Crisp     P cold      100       2   0
32                         Golden Grahams     G cold      110       1   1
33                      Grape Nuts Flakes     P cold      100       3   1
34                             Grape-Nuts     P cold      110       3   0
35                     Great Grains Pecan     P cold      120       3   3
36                       Honey Graham Ohs     Q cold      120       1   2
37                     Honey Nut Cheerios     G cold      110       3   1
38                             Honey-comb     P cold      110       1   0
39            Just Right Crunchy  Nuggets     K cold      110       2   1
40                 Just Right Fruit & Nut     K cold      140       3   1
41                                    Kix     G cold      110       2   1
42                                   Life     Q cold      100       4   2
43                           Lucky Charms     G cold      110       2   1
44                                  Maypo     A  hot      100       4   1
45       Muesli Raisins; Dates; & Almonds     R cold      150       4   3
46      Muesli Raisins; Peaches; & Pecans     R cold      150       4   3
47                   Mueslix Crispy Blend     K cold      160       3   2
48                   Multi-Grain Cheerios     G cold      100       2   1
49                       Nut&Honey Crunch     K cold      120       2   1
50              Nutri-Grain Almond-Raisin     K cold      140       3   2
51                      Nutri-grain Wheat     K cold       90       3   0
52                   Oatmeal Raisin Crisp     G cold      130       3   2
53                  Post Nat. Raisin Bran     P cold      120       3   1
54                             Product 19     K cold      100       3   0
55                            Puffed Rice     Q cold       50       1   0
56                           Puffed Wheat     Q cold       50       2   0
57                     Quaker Oat Squares     Q cold      100       4   1
58                         Quaker Oatmeal     Q  hot      100       5   2
59                            Raisin Bran     K cold      120       3   1
60                        Raisin Nut Bran     G cold      100       3   2
61                         Raisin Squares     K cold       90       2   0
62                              Rice Chex     R cold      110       1   0
63                          Rice Krispies     K cold      110       2   0
64                         Shredded Wheat     N cold       80       2   0
65                 Shredded Wheat 'n'Bran     N cold       90       3   0
66              Shredded Wheat spoon size     N cold       90       3   0
67                                 Smacks     K cold      110       2   1
68                              Special K     K cold      110       6   0
69                Strawberry Fruit Wheats     N cold       90       2   0
70                      Total Corn Flakes     G cold      110       2   1
71                      Total Raisin Bran     G cold      140       3   1
72                      Total Whole Grain     G cold      100       3   1
73                                Triples     G cold      110       2   1
74                                   Trix     G cold      110       1   1
75                             Wheat Chex     R cold      100       3   1
76                               Wheaties     G cold      100       3   1
77                    Wheaties Honey Gold     G cold      110       2   1
   sodium fiber carbo sugars potass vitamins shelf weight cups   rating low_cal
1     130  10.0   5.0      6    280       25     3   1.00 0.33 68.40297     low
2      15   2.0   8.0      8    135        0     3   1.00 1.00 33.98368    high
3     260   9.0   7.0      5    320       25     3   1.00 0.33 59.42551     low
4     140  14.0   8.0      0    330       25     3   1.00 0.50 93.70491     low
5     200   1.0  14.0      8     -1       25     3   1.00 0.75 34.38484    high
6     180   1.5  10.5     10     70       25     1   1.00 0.75 29.50954    high
7     125   1.0  11.0     14     30       25     2   1.00 1.00 33.17409    high
8     210   2.0  18.0      8    100       25     3   1.33 0.75 37.03856    high
9     200   4.0  15.0      6    125       25     1   1.00 0.67 49.12025     low
10    210   5.0  13.0      5    190       25     3   1.00 0.67 53.31381     low
11    220   0.0  12.0     12     35       25     2   1.00 0.75 18.04285    high
12    290   2.0  17.0      1    105       25     1   1.00 1.25 50.76500    high
13    210   0.0  13.0      9     45       25     2   1.00 0.75 19.82357    high
14    140   2.0  13.0      7    105       25     3   1.00 0.50 40.40021    high
15    180   0.0  12.0     13     55       25     2   1.00 1.00 22.73645    high
16    280   0.0  22.0      3     25       25     1   1.00 1.00 41.44502    high
17    290   1.0  21.0      2     35       25     1   1.00 1.00 45.86332    high
18     90   1.0  13.0     12     20       25     2   1.00 1.00 35.78279    high
19    180   0.0  12.0     13     65       25     2   1.00 1.00 22.39651    high
20    140   4.0  10.0      7    160       25     3   1.00 0.50 40.44877    high
21     80   1.0  21.0      0     -1        0     2   1.00 1.00 64.53382    high
22    220   1.0  21.0      3     30       25     3   1.00 1.00 46.89564    high
23    140   2.0  11.0     10    120       25     3   1.00 0.75 36.17620    high
24    190   1.0  18.0      5     80       25     3   1.00 0.75 44.33086    high
25    125   1.0  11.0     13     30       25     2   1.00 1.00 32.20758    high
26    200   1.0  14.0     11     25       25     1   1.00 0.75 31.43597    high
27      0   3.0  14.0      7    100       25     2   1.00 0.80 58.34514    high
28    160   5.0  12.0     10    200       25     3   1.25 0.67 40.91705    high
29    240   5.0  14.0     12    190       25     3   1.33 0.67 41.01549    high
30    135   0.0  13.0     12     25       25     2   1.00 0.75 28.02576    high
31     45   0.0  11.0     15     40       25     1   1.00 0.88 35.25244    high
32    280   0.0  15.0      9     45       25     2   1.00 0.75 23.80404    high
33    140   3.0  15.0      5     85       25     3   1.00 0.88 52.07690    high
34    170   3.0  17.0      3     90       25     3   1.00 0.25 53.37101    high
35     75   3.0  13.0      4    100       25     3   1.00 0.33 45.81172    high
36    220   1.0  12.0     11     45       25     2   1.00 1.00 21.87129    high
37    250   1.5  11.5     10     90       25     1   1.00 0.75 31.07222    high
38    180   0.0  14.0     11     35       25     1   1.00 1.33 28.74241    high
39    170   1.0  17.0      6     60      100     3   1.00 1.00 36.52368    high
40    170   2.0  20.0      9     95      100     3   1.30 0.75 36.47151    high
41    260   0.0  21.0      3     40       25     2   1.00 1.50 39.24111    high
42    150   2.0  12.0      6     95       25     2   1.00 0.67 45.32807    high
43    180   0.0  12.0     12     55       25     2   1.00 1.00 26.73451    high
44      0   0.0  16.0      3     95       25     2   1.00 1.00 54.85092    high
45     95   3.0  16.0     11    170       25     3   1.00 1.00 37.13686    high
46    150   3.0  16.0     11    170       25     3   1.00 1.00 34.13976    high
47    150   3.0  17.0     13    160       25     3   1.50 0.67 30.31335    high
48    220   2.0  15.0      6     90       25     1   1.00 1.00 40.10596    high
49    190   0.0  15.0      9     40       25     2   1.00 0.67 29.92429    high
50    220   3.0  21.0      7    130       25     3   1.33 0.67 40.69232    high
51    170   3.0  18.0      2     90       25     3   1.00 1.00 59.64284     low
52    170   1.5  13.5     10    120       25     3   1.25 0.50 30.45084    high
53    200   6.0  11.0     14    260       25     3   1.33 0.67 37.84059    high
54    320   1.0  20.0      3     45      100     3   1.00 1.00 41.50354    high
55      0   0.0  13.0      0     15        0     3   0.50 1.00 60.75611     low
56      0   1.0  10.0      0     50        0     3   0.50 1.00 63.00565     low
57    135   2.0  14.0      6    110       25     3   1.00 0.50 49.51187    high
58      0   2.7  -1.0     -1    110        0     1   1.00 0.67 50.82839    high
59    210   5.0  14.0     12    240       25     2   1.33 0.75 39.25920    high
60    140   2.5  10.5      8    140       25     3   1.00 0.50 39.70340    high
61      0   2.0  15.0      6    110       25     3   1.00 0.50 55.33314     low
62    240   0.0  23.0      2     30       25     1   1.00 1.13 41.99893    high
63    290   0.0  22.0      3     35       25     1   1.00 1.00 40.56016    high
64      0   3.0  16.0      0     95        0     1   0.83 1.00 68.23588     low
65      0   4.0  19.0      0    140        0     1   1.00 0.67 74.47295     low
66      0   3.0  20.0      0    120        0     1   1.00 0.67 72.80179     low
67     70   1.0   9.0     15     40       25     2   1.00 0.75 31.23005    high
68    230   1.0  16.0      3     55       25     1   1.00 1.00 53.13132    high
69     15   3.0  15.0      5     90       25     2   1.00 1.00 59.36399     low
70    200   0.0  21.0      3     35      100     3   1.00 1.00 38.83975    high
71    190   4.0  15.0     14    230      100     3   1.50 1.00 28.59278    high
72    200   3.0  16.0      3    110      100     3   1.00 1.00 46.65884    high
73    250   0.0  21.0      3     60       25     3   1.00 0.75 39.10617    high
74    140   0.0  13.0     12     25       25     2   1.00 1.00 27.75330    high
75    230   3.0  17.0      3    115       25     1   1.00 0.67 49.78744    high
76    200   3.0  17.0      3    110       25     1   1.00 1.00 51.59219    high
77    200   1.0  16.0      8     60       25     1   1.00 0.75 36.18756    high

Re-leveling with case_when()

cereal |> 
  mutate(manuf = case_when(manuf == "A" ~ "American Home Food Products", 
                           manuf == "G" ~ "General Mills", 
                           manuf == "K" ~ "Kelloggs", 
                           manuf == "N" ~ "Nabisco", 
                           manuf == "P" ~ "Post", 
                           manuf == "Q" ~ "Quaker Oats", 
                           manuf == "R" ~ "Ralston Purina"
                           )
  )
                                     name                       manuf type
1                               100% Bran                     Nabisco cold
2                       100% Natural Bran                 Quaker Oats cold
3                                All-Bran                    Kelloggs cold
4               All-Bran with Extra Fiber                    Kelloggs cold
5                          Almond Delight              Ralston Purina cold
6                 Apple Cinnamon Cheerios               General Mills cold
7                             Apple Jacks                    Kelloggs cold
8                                 Basic 4               General Mills cold
9                               Bran Chex              Ralston Purina cold
10                            Bran Flakes                        Post cold
11                           Cap'n'Crunch                 Quaker Oats cold
12                               Cheerios               General Mills cold
13                  Cinnamon Toast Crunch               General Mills cold
14                               Clusters               General Mills cold
15                            Cocoa Puffs               General Mills cold
16                              Corn Chex              Ralston Purina cold
17                            Corn Flakes                    Kelloggs cold
18                              Corn Pops                    Kelloggs cold
19                          Count Chocula               General Mills cold
20                     Cracklin' Oat Bran                    Kelloggs cold
21                 Cream of Wheat (Quick)                     Nabisco  hot
22                                Crispix                    Kelloggs cold
23                 Crispy Wheat & Raisins               General Mills cold
24                            Double Chex              Ralston Purina cold
25                            Froot Loops                    Kelloggs cold
26                         Frosted Flakes                    Kelloggs cold
27                    Frosted Mini-Wheats                    Kelloggs cold
28 Fruit & Fibre Dates; Walnuts; and Oats                        Post cold
29                          Fruitful Bran                    Kelloggs cold
30                         Fruity Pebbles                        Post cold
31                           Golden Crisp                        Post cold
32                         Golden Grahams               General Mills cold
33                      Grape Nuts Flakes                        Post cold
34                             Grape-Nuts                        Post cold
35                     Great Grains Pecan                        Post cold
36                       Honey Graham Ohs                 Quaker Oats cold
37                     Honey Nut Cheerios               General Mills cold
38                             Honey-comb                        Post cold
39            Just Right Crunchy  Nuggets                    Kelloggs cold
40                 Just Right Fruit & Nut                    Kelloggs cold
41                                    Kix               General Mills cold
42                                   Life                 Quaker Oats cold
43                           Lucky Charms               General Mills cold
44                                  Maypo American Home Food Products  hot
45       Muesli Raisins; Dates; & Almonds              Ralston Purina cold
46      Muesli Raisins; Peaches; & Pecans              Ralston Purina cold
47                   Mueslix Crispy Blend                    Kelloggs cold
48                   Multi-Grain Cheerios               General Mills cold
49                       Nut&Honey Crunch                    Kelloggs cold
50              Nutri-Grain Almond-Raisin                    Kelloggs cold
51                      Nutri-grain Wheat                    Kelloggs cold
52                   Oatmeal Raisin Crisp               General Mills cold
53                  Post Nat. Raisin Bran                        Post cold
54                             Product 19                    Kelloggs cold
55                            Puffed Rice                 Quaker Oats cold
56                           Puffed Wheat                 Quaker Oats cold
57                     Quaker Oat Squares                 Quaker Oats cold
58                         Quaker Oatmeal                 Quaker Oats  hot
59                            Raisin Bran                    Kelloggs cold
60                        Raisin Nut Bran               General Mills cold
61                         Raisin Squares                    Kelloggs cold
62                              Rice Chex              Ralston Purina cold
63                          Rice Krispies                    Kelloggs cold
64                         Shredded Wheat                     Nabisco cold
65                 Shredded Wheat 'n'Bran                     Nabisco cold
66              Shredded Wheat spoon size                     Nabisco cold
67                                 Smacks                    Kelloggs cold
68                              Special K                    Kelloggs cold
69                Strawberry Fruit Wheats                     Nabisco cold
70                      Total Corn Flakes               General Mills cold
71                      Total Raisin Bran               General Mills cold
72                      Total Whole Grain               General Mills cold
73                                Triples               General Mills cold
74                                   Trix               General Mills cold
75                             Wheat Chex              Ralston Purina cold
76                               Wheaties               General Mills cold
77                    Wheaties Honey Gold               General Mills cold
   calories protein fat sodium fiber carbo sugars potass vitamins shelf weight
1        70       4   1    130  10.0   5.0      6    280       25     3   1.00
2       120       3   5     15   2.0   8.0      8    135        0     3   1.00
3        70       4   1    260   9.0   7.0      5    320       25     3   1.00
4        50       4   0    140  14.0   8.0      0    330       25     3   1.00
5       110       2   2    200   1.0  14.0      8     -1       25     3   1.00
6       110       2   2    180   1.5  10.5     10     70       25     1   1.00
7       110       2   0    125   1.0  11.0     14     30       25     2   1.00
8       130       3   2    210   2.0  18.0      8    100       25     3   1.33
9        90       2   1    200   4.0  15.0      6    125       25     1   1.00
10       90       3   0    210   5.0  13.0      5    190       25     3   1.00
11      120       1   2    220   0.0  12.0     12     35       25     2   1.00
12      110       6   2    290   2.0  17.0      1    105       25     1   1.00
13      120       1   3    210   0.0  13.0      9     45       25     2   1.00
14      110       3   2    140   2.0  13.0      7    105       25     3   1.00
15      110       1   1    180   0.0  12.0     13     55       25     2   1.00
16      110       2   0    280   0.0  22.0      3     25       25     1   1.00
17      100       2   0    290   1.0  21.0      2     35       25     1   1.00
18      110       1   0     90   1.0  13.0     12     20       25     2   1.00
19      110       1   1    180   0.0  12.0     13     65       25     2   1.00
20      110       3   3    140   4.0  10.0      7    160       25     3   1.00
21      100       3   0     80   1.0  21.0      0     -1        0     2   1.00
22      110       2   0    220   1.0  21.0      3     30       25     3   1.00
23      100       2   1    140   2.0  11.0     10    120       25     3   1.00
24      100       2   0    190   1.0  18.0      5     80       25     3   1.00
25      110       2   1    125   1.0  11.0     13     30       25     2   1.00
26      110       1   0    200   1.0  14.0     11     25       25     1   1.00
27      100       3   0      0   3.0  14.0      7    100       25     2   1.00
28      120       3   2    160   5.0  12.0     10    200       25     3   1.25
29      120       3   0    240   5.0  14.0     12    190       25     3   1.33
30      110       1   1    135   0.0  13.0     12     25       25     2   1.00
31      100       2   0     45   0.0  11.0     15     40       25     1   1.00
32      110       1   1    280   0.0  15.0      9     45       25     2   1.00
33      100       3   1    140   3.0  15.0      5     85       25     3   1.00
34      110       3   0    170   3.0  17.0      3     90       25     3   1.00
35      120       3   3     75   3.0  13.0      4    100       25     3   1.00
36      120       1   2    220   1.0  12.0     11     45       25     2   1.00
37      110       3   1    250   1.5  11.5     10     90       25     1   1.00
38      110       1   0    180   0.0  14.0     11     35       25     1   1.00
39      110       2   1    170   1.0  17.0      6     60      100     3   1.00
40      140       3   1    170   2.0  20.0      9     95      100     3   1.30
41      110       2   1    260   0.0  21.0      3     40       25     2   1.00
42      100       4   2    150   2.0  12.0      6     95       25     2   1.00
43      110       2   1    180   0.0  12.0     12     55       25     2   1.00
44      100       4   1      0   0.0  16.0      3     95       25     2   1.00
45      150       4   3     95   3.0  16.0     11    170       25     3   1.00
46      150       4   3    150   3.0  16.0     11    170       25     3   1.00
47      160       3   2    150   3.0  17.0     13    160       25     3   1.50
48      100       2   1    220   2.0  15.0      6     90       25     1   1.00
49      120       2   1    190   0.0  15.0      9     40       25     2   1.00
50      140       3   2    220   3.0  21.0      7    130       25     3   1.33
51       90       3   0    170   3.0  18.0      2     90       25     3   1.00
52      130       3   2    170   1.5  13.5     10    120       25     3   1.25
53      120       3   1    200   6.0  11.0     14    260       25     3   1.33
54      100       3   0    320   1.0  20.0      3     45      100     3   1.00
55       50       1   0      0   0.0  13.0      0     15        0     3   0.50
56       50       2   0      0   1.0  10.0      0     50        0     3   0.50
57      100       4   1    135   2.0  14.0      6    110       25     3   1.00
58      100       5   2      0   2.7  -1.0     -1    110        0     1   1.00
59      120       3   1    210   5.0  14.0     12    240       25     2   1.33
60      100       3   2    140   2.5  10.5      8    140       25     3   1.00
61       90       2   0      0   2.0  15.0      6    110       25     3   1.00
62      110       1   0    240   0.0  23.0      2     30       25     1   1.00
63      110       2   0    290   0.0  22.0      3     35       25     1   1.00
64       80       2   0      0   3.0  16.0      0     95        0     1   0.83
65       90       3   0      0   4.0  19.0      0    140        0     1   1.00
66       90       3   0      0   3.0  20.0      0    120        0     1   1.00
67      110       2   1     70   1.0   9.0     15     40       25     2   1.00
68      110       6   0    230   1.0  16.0      3     55       25     1   1.00
69       90       2   0     15   3.0  15.0      5     90       25     2   1.00
70      110       2   1    200   0.0  21.0      3     35      100     3   1.00
71      140       3   1    190   4.0  15.0     14    230      100     3   1.50
72      100       3   1    200   3.0  16.0      3    110      100     3   1.00
73      110       2   1    250   0.0  21.0      3     60       25     3   1.00
74      110       1   1    140   0.0  13.0     12     25       25     2   1.00
75      100       3   1    230   3.0  17.0      3    115       25     1   1.00
76      100       3   1    200   3.0  17.0      3    110       25     1   1.00
77      110       2   1    200   1.0  16.0      8     60       25     1   1.00
   cups   rating
1  0.33 68.40297
2  1.00 33.98368
3  0.33 59.42551
4  0.50 93.70491
5  0.75 34.38484
6  0.75 29.50954
7  1.00 33.17409
8  0.75 37.03856
9  0.67 49.12025
10 0.67 53.31381
11 0.75 18.04285
12 1.25 50.76500
13 0.75 19.82357
14 0.50 40.40021
15 1.00 22.73645
16 1.00 41.44502
17 1.00 45.86332
18 1.00 35.78279
19 1.00 22.39651
20 0.50 40.44877
21 1.00 64.53382
22 1.00 46.89564
23 0.75 36.17620
24 0.75 44.33086
25 1.00 32.20758
26 0.75 31.43597
27 0.80 58.34514
28 0.67 40.91705
29 0.67 41.01549
30 0.75 28.02576
31 0.88 35.25244
32 0.75 23.80404
33 0.88 52.07690
34 0.25 53.37101
35 0.33 45.81172
36 1.00 21.87129
37 0.75 31.07222
38 1.33 28.74241
39 1.00 36.52368
40 0.75 36.47151
41 1.50 39.24111
42 0.67 45.32807
43 1.00 26.73451
44 1.00 54.85092
45 1.00 37.13686
46 1.00 34.13976
47 0.67 30.31335
48 1.00 40.10596
49 0.67 29.92429
50 0.67 40.69232
51 1.00 59.64284
52 0.50 30.45084
53 0.67 37.84059
54 1.00 41.50354
55 1.00 60.75611
56 1.00 63.00565
57 0.50 49.51187
58 0.67 50.82839
59 0.75 39.25920
60 0.50 39.70340
61 0.50 55.33314
62 1.13 41.99893
63 1.00 40.56016
64 1.00 68.23588
65 0.67 74.47295
66 0.67 72.80179
67 0.75 31.23005
68 1.00 53.13132
69 1.00 59.36399
70 1.00 38.83975
71 1.00 28.59278
72 1.00 46.65884
73 0.75 39.10617
74 1.00 27.75330
75 0.67 49.78744
76 1.00 51.59219
77 0.75 36.18756

Data Ethics

To do…

  • Lab 3: Hip Hop Lyrics
    • Due Friday, 1/27 at 11:59pm
  • Challenge 3: Published Comparisons & Data Ethics
    • Due Saturday, 1/28 at 11:59pm
  • Read Chapter 4: Joins and Data Transformations
    • Concept Check 4.1 + 4.2 due Monday (1/30) at 8:00am